//先把接口暴露出去
let baseUrl="https://www.hongfayuan.cn/dream-boot";
export default{
	//我们先定一个uni-app方法 以便于以下操作使用uni-app调取接口时便利
	request(options,type="application/x-www-form-urlencoded"){
		///我们使用Promise方法来实现调用接口时后面多个.then()的方法
		//只有Promise能实现如同$axios后面连续多个.then()的方法
	 	return new Promise((reslove,reject)=>{
			uni.request({
			    ...options,
			    header: {
			            "Content-Type":type,
						"X-Access-Token":uni.getStorageSync('token')
			    }, // 请求头
			    dataType: 'json', // 返回数据格式
			    success(response) {
						if(response.data.code==200){
							reslove(response)
						}else{
							reject(response)
							wx.showToast({title:response.data.message,icon:'none',mask:true})
						}
			    },
			    fail(error) {
					reject(error)
					// wx.showToast({title:error.data.message,icon:'none',mask:true})
			    },
			   
			})
			// uni.request({
			// 	 ...options,
			// 	 header: {
			// 	            "Content-Type": "application/x-www-form-urlencoded",
			// 				"X-Access-Token":uni.getStorageSync('token')
			// 	    }, // 请求头
			// 	success:res=>{
			// 		//判断我们在使用封装的自定义时第三个参数是否为native
			// 		//当native为true时 我们返回原数据
			// 		if(options.native){
			// 			reslove(res)
			// 		}
			// 		//当native为false时 我们直接返回data中的数据
			// 		if(res.data.code === 200){
			// 			reslove(res.data)
			// 		}else{
			// 			//加入接口参数错误或接口地址错误时 我们返回原错误提示
			// 			reject(res)
			// 		}
			// 	}
			// })
		})
	},
	//在方法中 第二个参数和第三个参数用ES6新语法来添加默认值
	//接口调取get方法
	get(url,data={}){
		//我们把传过来的参数赋给options，这样我们在使用uni-app
		//this.request()方法时 传递一个参数就可以
		let options={}
		options.url = baseUrl+url;
		options.data = data;
		options.method = 'get';
		//调用上面自己定义的this.request()方法传递参数
		return this.request(options)
	},
	//接口调取post方法
	post(url,data={},type){
		let options={}
		options.url = baseUrl+url;
		options.data = data;
		options.method = 'post';
		return this.request(options,type)
	}
}
